<plugins>
<plugin id="1" name="Aggregate">
	<name>Aggregate</name>
	<desc>Aggregate</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>false</statement>
	<autoHandleTokens>true</autoHandleTokens>
	<endOfStatementRequired>false</endOfStatementRequired>
	<precedence>0</precedence>
	<grammer><![CDATA[( avg | min | max | sum | count | number ) ( ( '(' <expression> ')' ) | ( of <expression> ) )]]></grammer>
	<starttokens>avg, min, max, sum, count, number, Avg, Min, Max, Sum, Count, Number</starttokens>
	<examples>
		<example><![CDATA[min( numbers )]]></example>
		<example><![CDATA[Min( numbers )]]></example>
		<example><![CDATA[min of numbers]]></example>
		<example><![CDATA[Min of numbers]]></example>
	</examples>
</plugin>
<plugin id="2" name="Alias">
	<name>Alias</name>
	<desc>Alias</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>true</statement>
	<autoHandleTokens>true</autoHandleTokens>
	<endOfStatementRequired>true</endOfStatementRequired>
	<precedence>0</precedence>
	<grammer><![CDATA[alias <ident> to <ident>]]></grammer>
	<starttokens>alias</starttokens>
	<examples>
		<example><![CDATA[alias set to var]]></example>
		<example><![CDATA[alias def to function]]></example>
	</examples>
</plugin>
<plugin id="3" name="ConstCaps">
	<name>ConstCaps</name>
	<desc>ConstCaps</desc>
	<type>expression</type>
	<isSystemLevel>true</isSystemLevel>
	<statement>true</statement>
	<autoHandleTokens>false</autoHandleTokens>
	<endOfStatementRequired>true</endOfStatementRequired>
	<precedence>1</precedence>
	<grammer><![CDATA[<IDENT> = <expression>]]></grammer>
	<starttokens>$IdToken</starttokens>
	<examples>
		<example><![CDATA[MIN_SIZE = 10]]></example>
		<example><![CDATA[MAXIMUM = 20]]></example>
	</examples>
</plugin>
<plugin id="4" name="Date">
	<name>Date</name>
	<desc>Date</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>false</statement>
	<autoHandleTokens>false</autoHandleTokens>
	<endOfStatementRequired>false</endOfStatementRequired>
	<precedence>0</precedence>
	<grammer><![CDATA[@month( jan | January ) @day<number>{1,2} ( st | nd | rd | th )? ( ','? @year( <number>{4} ) )?  ( at <time>)?]]></grammer>
	<starttokens>jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec, january, february, march, april, may, june, july, august, september, october, november, december, January, February, March, April, May, June, July, August, September, October, November, December, $DateToken</starttokens>
	<examples>
		<example><![CDATA[var date = January 1st 2012]]></example>
		<example><![CDATA[var date = Jan]]></example>
		<example><![CDATA[date = jan 10]]></example>
		<example><![CDATA[date = Jan 10 2012]]></example>
		<example><![CDATA[date = Jan 10, 2012]]></example>
		<example><![CDATA[date = Jan 10th]]></example>
		<example><![CDATA[date = Jan 10th 2012]]></example>
		<example><![CDATA[date = Jan 10th, 2012]]></example>
		<example><![CDATA[date = January 10]]></example>
		<example><![CDATA[date = January 10, 2012]]></example>
		<example><![CDATA[date = January 10th]]></example>
		<example><![CDATA[date = January 10th, 2012]]></example>
		<example><![CDATA[date = January 10th 2012 at 9:20 am]]></example>
	</examples>
</plugin>
<plugin id="5" name="Day">
	<name>Day</name>
	<desc>Day</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>false</statement>
	<autoHandleTokens>false</autoHandleTokens>
	<endOfStatementRequired>false</endOfStatementRequired>
	<precedence>0</precedence>
	<grammer><![CDATA[( ( today | tomorrow | yesterday ) | ( monday | tuesday | wednesday ... ) ) ( at <time> )?]]></grammer>
	<starttokens>monday, tuesday, wednesday, thursday, friday, saturday, sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, today, tomorrow, yesterday, Today, Tomorrow, Yesterday</starttokens>
	<examples>
		<example><![CDATA[var day = Monday]]></example>
		<example><![CDATA[var date = tomorrow at 3:30 pm]]></example>
	</examples>
</plugin>
<plugin id="6" name="Enable">
	<name>Enable</name>
	<desc>Enable</desc>
	<type>expression</type>
	<isSystemLevel>true</isSystemLevel>
	<statement>true</statement>
	<autoHandleTokens>false</autoHandleTokens>
	<endOfStatementRequired>true</endOfStatementRequired>
	<precedence>0</precedence>
	<grammer><![CDATA[]]></grammer>
	<starttokens>enable, disable</starttokens>
	<examples></examples>
</plugin>
<plugin id="7" name="Fail">
	<name>Fail</name>
	<desc>Fail</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>true</statement>
	<autoHandleTokens>true</autoHandleTokens>
	<endOfStatementRequired>true</endOfStatementRequired>
	<precedence>0</precedence>
	<grammer><![CDATA[fail <expression> <statementterminator>]]></grammer>
	<starttokens>fail</starttokens>
	<examples>
		<example><![CDATA[fail 'file not found';]]></example>
		<example><![CDATA[fail "file #{filepath} not found"
]]></example>
	</examples>
</plugin>
<plugin id="8" name="FluentFunc">
	<name>FluentFunc</name>
	<desc>FluentFunc</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>true</statement>
	<autoHandleTokens>false</autoHandleTokens>
	<endOfStatementRequired>false</endOfStatementRequired>
	<precedence>100</precedence>
	<grammer><![CDATA[]]></grammer>
	<starttokens>$IdToken</starttokens>
	<examples></examples>
</plugin>
<plugin id="9" name="FluentMember">
	<name>FluentMember</name>
	<desc>FluentMember</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>true</statement>
	<autoHandleTokens>false</autoHandleTokens>
	<endOfStatementRequired>false</endOfStatementRequired>
	<precedence>200</precedence>
	<grammer><![CDATA[]]></grammer>
	<starttokens>$IdToken</starttokens>
	<examples></examples>
</plugin>
<plugin id="10" name="FuncWildCard">
	<name>FuncWildCard</name>
	<desc>FuncWildCard</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>true</statement>
	<autoHandleTokens>false</autoHandleTokens>
	<endOfStatementRequired>false</endOfStatementRequired>
	<precedence>10</precedence>
	<grammer><![CDATA[]]></grammer>
	<starttokens>$IdToken</starttokens>
	<examples></examples>
</plugin>
<plugin id="11" name="Holiday">
	<name>Holiday</name>
	<desc>Holiday</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>false</statement>
	<autoHandleTokens>false</autoHandleTokens>
	<endOfStatementRequired>false</endOfStatementRequired>
	<precedence>100</precedence>
	<grammer><![CDATA[]]></grammer>
	<starttokens>New, Valentines, Independence, Christmas, new, valentines, christmas, independence</starttokens>
	<examples></examples>
</plugin>
<plugin id="12" name="Linq">
	<name>Linq</name>
	<desc>Linq</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>false</statement>
	<autoHandleTokens>false</autoHandleTokens>
	<endOfStatementRequired>false</endOfStatementRequired>
	<precedence>1</precedence>
	<grammer><![CDATA[( <id> where <expression> ) | ( from <id> in <id> where <expression> )]]></grammer>
	<starttokens>$IdToken, select, from, where</starttokens>
	<examples>
		<example><![CDATA[books where book.pages < 150 and book.author == 'kdog']]></example>
		<example><![CDATA[from book in books where book.pages < 150 and book.author == 'kdog']]></example>
	</examples>
</plugin>
<plugin id="13" name="Log">
	<name>Log</name>
	<desc>Log</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>true</statement>
	<autoHandleTokens>true</autoHandleTokens>
	<endOfStatementRequired>true</endOfStatementRequired>
	<precedence>100</precedence>
	<grammer><![CDATA[log '.'? ( 'fatal' | 'error' | 'warn' | 'info' | 'debug' | 'put' ) '(' <expr> ( ',' <expr> ) ')']]></grammer>
	<starttokens>log, put, fatal, error, warn, info, debug</starttokens>
	<examples>
		<example><![CDATA[log.fatal ( 'testing' );]]></example>
		<example><![CDATA[log.error ( 'testing' );]]></example>
		<example><![CDATA[log.error ( 'testing', err );]]></example>
		<example><![CDATA[log.warn  ( 'testing', err );]]></example>
		<example><![CDATA[log.info  ( 'testing', err );]]></example>
		<example><![CDATA[log.debug ( 'testing', err );]]></example>
		<example><![CDATA[log.put   ( 'testing', err );]]></example>
	</examples>
</plugin>
<plugin id="14" name="MachineInfo">
	<name>MachineInfo</name>
	<desc>MachineInfo</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>false</statement>
	<autoHandleTokens>false</autoHandleTokens>
	<endOfStatementRequired>false</endOfStatementRequired>
	<precedence>0</precedence>
	<grammer><![CDATA[( (mac '.' ) | '@' ) <ident>]]></grammer>
	<starttokens>mac, @</starttokens>
	<examples>
		<example><![CDATA[mac machine]]></example>
		<example><![CDATA[mac domain]]></example>
		<example><![CDATA[mac user]]></example>
		<example><![CDATA[mac cmdline]]></example>
		<example><![CDATA[mac numprocs]]></example>
		<example><![CDATA[mac.osname]]></example>
		<example><![CDATA[mac.osversion]]></example>
		<example><![CDATA[mac.osspack]]></example>
		<example><![CDATA[mac.sysdir]]></example>
		<example><![CDATA[mac.memory]]></example>
		<example><![CDATA[mac.version]]></example>
		<example><![CDATA[mac.currentdir]]></example>
	</examples>
</plugin>
<plugin id="15" name="Marker">
	<name>Marker</name>
	<desc>Marker</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>true</statement>
	<autoHandleTokens>false</autoHandleTokens>
	<endOfStatementRequired>false</endOfStatementRequired>
	<precedence>0</precedence>
	<grammer><![CDATA['@' ( todo | note | bug | review | implement | optimize | refactor | critical ) <line>]]></grammer>
	<starttokens>@</starttokens>
	<examples>
		<example><![CDATA[@todo: i need to add extra comments here]]></example>
		<example><![CDATA[@todo: 'I need to add extra checks here and']]></example>
		<example><![CDATA[@bug: 'this bug related to parsing']]></example>
		<example><![CDATA[@bug: this bug related to johns code!]]></example>
	</examples>
</plugin>
<plugin id="16" name="Money">
	<name>Money</name>
	<desc>Money</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>false</statement>
	<autoHandleTokens>false</autoHandleTokens>
	<endOfStatementRequired>false</endOfStatementRequired>
	<precedence>0</precedence>
	<grammer><![CDATA['$'<number>]]></grammer>
	<starttokens>$</starttokens>
	<examples>
		<example><![CDATA[$30]]></example>
		<example><![CDATA[$50.23]]></example>
	</examples>
</plugin>
<plugin id="17" name="NamedIndex">
	<name>NamedIndex</name>
	<desc>NamedIndex</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>false</statement>
	<autoHandleTokens>true</autoHandleTokens>
	<endOfStatementRequired>false</endOfStatementRequired>
	<precedence>0</precedence>
	<grammer><![CDATA[<number> ( 'st' | 'nd' | 'rd' | 'th' ) <ident>]]></grammer>
	<starttokens>$NumberToken</starttokens>
	<examples>
		<example><![CDATA[1st item]]></example>
		<example><![CDATA[2nd item]]></example>
		<example><![CDATA[3rd item]]></example>
		<example><![CDATA[4th item]]></example>
		<example><![CDATA[23rd item]]></example>
	</examples>
</plugin>
<plugin id="18" name="Percent">
	<name>Percent</name>
	<desc>Percent</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>true</statement>
	<autoHandleTokens>false</autoHandleTokens>
	<endOfStatementRequired>false</endOfStatementRequired>
	<precedence>0</precedence>
	<grammer><![CDATA[<numbertoken> %]]></grammer>
	<starttokens>$Suffix</starttokens>
	<examples>
		<example><![CDATA[25%]]></example>
		<example><![CDATA[25 %]]></example>
	</examples>
</plugin>
<plugin id="19" name="PrintExpression">
	<name>PrintExpression</name>
	<desc>PrintExpression</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>true</statement>
	<autoHandleTokens>true</autoHandleTokens>
	<endOfStatementRequired>false</endOfStatementRequired>
	<precedence>0</precedence>
	<grammer><![CDATA[]]></grammer>
	<starttokens>print, println</starttokens>
	<examples></examples>
</plugin>
<plugin id="20" name="Records">
	<name>Records</name>
	<desc>Records</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>false</statement>
	<autoHandleTokens>false</autoHandleTokens>
	<endOfStatementRequired>false</endOfStatementRequired>
	<precedence>0</precedence>
	<grammer><![CDATA['[' <id> ( '|' <id> )* <newline> ( <expression> ( ( ',' | '|' ) <expression> )* <newline> )* ']']]></grammer>
	<starttokens>[</starttokens>
	<examples>
		<example><![CDATA[[ name | age 
 'john', 21
 'fred', 20 ]]]></example>
	</examples>
</plugin>
<plugin id="21" name="Repeat">
	<name>Repeat</name>
	<desc>Repeat</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>true</statement>
	<autoHandleTokens>true</autoHandleTokens>
	<endOfStatementRequired>false</endOfStatementRequired>
	<precedence>50</precedence>
	<grammer><![CDATA[repeat ( ( <ident> = <expression> ) | <literal>)? to [symbol]? <expression> [by <expression>]? ]]></grammer>
	<starttokens>repeat</starttokens>
	<examples>
		<example><![CDATA[repeat to 10 { print 'hi' }]]></example>
		<example><![CDATA[repeat 2 to 10	{ print 'hi' }]]></example>
		<example><![CDATA[repeat 2 to < 10 { print 'hi' }]]></example>
		<example><![CDATA[repeat 2 to < 10 by 1 { print 'hi' }]]></example>
		<example><![CDATA[repeat ndx to 10 { print 'hi' }]]></example>
		<example><![CDATA[repeat ndx = 1 to 10 { print 'hi' }]]></example>
		<example><![CDATA[repeat ndx = 1 to < 10 { print 'hi' }]]></example>
		<example><![CDATA[repeat ndx = 1 to < 10 by 2 { print 'hi' }]]></example>
	</examples>
</plugin>
<plugin id="22" name="Round">
	<name>Round</name>
	<desc>Round</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>false</statement>
	<autoHandleTokens>true</autoHandleTokens>
	<endOfStatementRequired>false</endOfStatementRequired>
	<precedence>0</precedence>
	<grammer><![CDATA[round ( up | down )? <expression>]]></grammer>
	<starttokens>Round, round</starttokens>
	<examples>
		<example><![CDATA[round 2.4]]></example>
		<example><![CDATA[round up 2.4]]></example>
		<example><![CDATA[round down 2.4]]></example>
	</examples>
</plugin>
<plugin id="23" name="Run">
	<name>Run</name>
	<desc>Run</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>true</statement>
	<autoHandleTokens>true</autoHandleTokens>
	<endOfStatementRequired>true</endOfStatementRequired>
	<precedence>0</precedence>
	<grammer><![CDATA[run function? ( <id> | <stringliteral> ) <paramlist>]]></grammer>
	<starttokens>run, Run</starttokens>
	<examples>
		<example><![CDATA[run cleanup]]></example>
		<example><![CDATA[run function cleanup]]></example>
		<example><![CDATA[run cleanup()]]></example>
		<example><![CDATA[run 'clean up']]></example>
		<example><![CDATA[run 'clean up'()]]></example>
		<example><![CDATA[run function 'clean up']]></example>
	</examples>
</plugin>
<plugin id="24" name="Sort">
	<name>Sort</name>
	<desc>Sort</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>true</statement>
	<autoHandleTokens>true</autoHandleTokens>
	<endOfStatementRequired>true</endOfStatementRequired>
	<precedence>0</precedence>
	<grammer><![CDATA[sort <expression> ( in <expression> )? by <expression> ( asc | desc )?]]></grammer>
	<starttokens>sort, Sort</starttokens>
	<examples>
		<example><![CDATA[sort books by book.pages asc]]></example>
		<example><![CDATA[sort books by book.pages desc]]></example>
		<example><![CDATA[sort i in books by i.pages desc]]></example>
	</examples>
</plugin>
<plugin id="25" name="StringLiteral">
	<name>StringLiteral</name>
	<desc>StringLiteral</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>false</statement>
	<autoHandleTokens>true</autoHandleTokens>
	<endOfStatementRequired>false</endOfStatementRequired>
	<precedence>1</precedence>
	<grammer><![CDATA[:username]]></grammer>
	<starttokens>:</starttokens>
	<examples>
		<example><![CDATA[var name = :kishore]]></example>
		<example><![CDATA[var lang = :fluent_script]]></example>
	</examples>
</plugin>
<plugin id="26" name="Suffix">
	<name>Suffix</name>
	<desc>Suffix</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>true</statement>
	<autoHandleTokens>false</autoHandleTokens>
	<endOfStatementRequired>false</endOfStatementRequired>
	<precedence>0</precedence>
	<grammer><![CDATA[<literal> <identifier>]]></grammer>
	<starttokens>$Suffix</starttokens>
	<examples>
		<example><![CDATA[3 shares]]></example>
		<example><![CDATA[20 products]]></example>
	</examples>
</plugin>
<plugin id="27" name="Swap">
	<name>Swap</name>
	<desc>Swap</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>true</statement>
	<autoHandleTokens>true</autoHandleTokens>
	<endOfStatementRequired>true</endOfStatementRequired>
	<precedence>0</precedence>
	<grammer><![CDATA[swap <id> with <id> <statementtermninator>]]></grammer>
	<starttokens>swap, Swap</starttokens>
	<examples>
		<example><![CDATA[swap a with b]]></example>
	</examples>
</plugin>
<plugin id="28" name="TypeOperations">
	<name>TypeOperations</name>
	<desc>TypeOperations</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>false</statement>
	<autoHandleTokens>true</autoHandleTokens>
	<endOfStatementRequired>false</endOfStatementRequired>
	<precedence>0</precedence>
	<grammer><![CDATA[typeof <expression>]]></grammer>
	<starttokens>is_number, is_number_like, to_number, is_bool, is_bool_like, to_bool, is_date, is_date_like, to_date, is_time, is_time_like, to_time, is_string, is_string_like, to_string</starttokens>
	<examples>
		<example><![CDATA[is_number( 123 )]]></example>
		<example><![CDATA[is_number_like( '123' )]]></example>
		<example><![CDATA[to_number( '123' )]]></example>
	</examples>
</plugin>
<plugin id="29" name="Units">
	<name>Units</name>
	<desc>Units</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>false</statement>
	<autoHandleTokens>false</autoHandleTokens>
	<endOfStatementRequired>false</endOfStatementRequired>
	<precedence>0</precedence>
	<grammer><![CDATA[<literal> <identifier>]]></grammer>
	<starttokens>$Suffix</starttokens>
	<examples>
		<example><![CDATA[3 inches]]></example>
		<example><![CDATA[20 feet]]></example>
	</examples>
</plugin>
<plugin id="30" name="VariablePath">
	<name>VariablePath</name>
	<desc>VariablePath</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>true</statement>
	<autoHandleTokens>false</autoHandleTokens>
	<endOfStatementRequired>false</endOfStatementRequired>
	<precedence>0</precedence>
	<grammer><![CDATA[@? '\' ( ( <idtoken> | <numbertoken> | '-' | '.' )*  '\'?)]]></grammer>
	<starttokens>@, $IdToken</starttokens>
	<examples>
		<example><![CDATA[home\scripts\build.xml]]></example>
		<example><![CDATA[@home\scripts\@scriptname.xml]]></example>
		<example><![CDATA[@home\versions_@ver\scripts\build.xml]]></example>
	</examples>
</plugin>
<plugin id="31" name="Words">
	<name>Words</name>
	<desc>Words</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>true</statement>
	<autoHandleTokens>false</autoHandleTokens>
	<endOfStatementRequired>true</endOfStatementRequired>
	<precedence>0</precedence>
	<grammer><![CDATA[@ words '(' <id>* ( ',' <id>* )* ')']]></grammer>
	<starttokens>@</starttokens>
	<examples>
		<example><![CDATA[@words ( ibm, microsoft )]]></example>
		<example><![CDATA[@words ( default pricing, premium pricing )]]></example>
	</examples>
</plugin>
<plugin id="32" name="WordsInterpret">
	<name>WordsInterpret</name>
	<desc>WordsInterpret</desc>
	<type>expression</type>
	<isSystemLevel>false</isSystemLevel>
	<statement>false</statement>
	<autoHandleTokens>false</autoHandleTokens>
	<endOfStatementRequired>false</endOfStatementRequired>
	<precedence>1</precedence>
	<grammer><![CDATA[]]></grammer>
	<starttokens>$IdToken</starttokens>
	<examples></examples>
</plugin>

</plugins>